//
//  DiDiVPNKit.h
//  KDExample
//
//  Created by YeQing on 2017/3/23.
//  Copyright © 2017年 naruto. All rights reserved.
//  滴滴vpn 组件

#ifndef DiDiVPNKit_h
#define DiDiVPNKit_h


#pragma mark - DiDiVPNStatus enum

/*!
 * @typedef DiDiVPNStatus
 * @abstract VPN status codes
 */
typedef NS_ENUM(NSInteger, DiDiVPNStatus) {
    /*! @const DiDiVPNStatusInvalid The VPN is not configured. */
    DiDiVPNStatusInvalid = 0,
    /*! @const DiDiVPNStatusDisconnected The VPN is disconnected. */
    DiDiVPNStatusDisconnected = 1,
    /*! @const DiDiVPNStatusConnecting The VPN is connecting. */
    DiDiVPNStatusConnecting = 2,
    /*! @const DiDiVPNStatusConnected The VPN is connected. */
    DiDiVPNStatusConnected = 3,
    /*! @const DiDiVPNStatusReasserting The VPN is reconnecting following loss of underlying network connectivity. */
    DiDiVPNStatusReasserting = 4,
    /*! @const DiDiVPNStatusDisconnecting The VPN is disconnecting. */
    DiDiVPNStatusDisconnecting = 5,
};


#pragma mark - DiDiVPNStoreDelegate
@class DiDiVPNStore;
@protocol DiDiVPNStoreDelegate <NSObject>
@optional

/**
 vpn 状态变更

 @param vpnStore vpnStore description
 @param vpnStatus vpn状态
 */
-(void)onDiDiVPNStore:(DiDiVPNStore *)vpnStore vpnStatusChange:(DiDiVPNStatus )vpnStatus;
@end


#import "DiDiVPNStore.h"

#endif /* DiDiVPN_h */
